package com.love.marriage.offlineServiceProvider.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.love.marriage.common.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * description:  线下服务商表类
 * author:       alex
 * createDate: 2024-12-08 12:08:27
 * version:      1.0.0
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("offline_service_provider_t")
@Schema(description = "线下服务商表")
public class OfflineServiceProvider extends BaseEntity<OfflineServiceProvider>{

    @Schema(description = "用户ID，关联用户表", type = "Long", implementation = Long.class)
    @TableField("user_id")
    private Long userId;

    @Schema(description = "联系方式", type = "String", implementation = String.class)
    @TableField("contact_info")
    private String contactInfo;

    @Schema(description = "姓名", type = "String", implementation = String.class)
    @TableField("`name`")
    private String name;

    @Schema(description = "手机号", type = "String", implementation = String.class)
    @TableField("phone_number")
    private String phoneNumber;

    @Schema(description = "需求描述", type = "String", implementation = String.class)
    @TableField("demand_description")
    private String demandDescription;

    @Schema(description = "居住所在地", type = "String", implementation = String.class)
    @TableField("residence")
    private String residence;

    @Schema(description = "省id", type = "Integer", implementation = Integer.class)
    @TableField("province_id")
    private Integer provinceId;

    @Schema(description = "城市id", type = "Integer", implementation = Integer.class)
    @TableField("city_id")
    private Integer cityId;

    @Schema(description = "区id", type = "Integer", implementation = Integer.class)
    @TableField("district_id")
    private Integer districtId;

    @Schema(description = "类型（emotion: 情感商学院,partner:合伙人）", type = "String", implementation = String.class)
    @TableField("type")
    private String type;

    @Schema(description = "合伙人类型（first: 初级(团长),second:中级(运营中心),third:高级(分公司)）", type = "String", implementation = String.class)
    @TableField("partner_type")
    private String partnerType;

    @Schema(description = "开始时间", type = "LocalDateTime", implementation = LocalDateTime.class)
    @TableField("start_time")
    private LocalDateTime startTime;

    @Schema(description = "结束时间", type = "LocalDateTime", implementation = LocalDateTime.class)
    @TableField("end_time")
    private LocalDateTime endTime;

    @Schema(description = "单身标识", type = "Boolean", implementation = Boolean.class)
    @TableField("single_flag")
    private Boolean singleFlag;

    @Schema(description = "状态", type = "Integer", implementation = Integer.class)
    @TableField(value = "status")
    private Integer status;
}
